Field of the Invention
This invention relates to a servo system for computer disk drives. More particularly, it relates to a system for providing a pulse which is sometimes missing due to the unpredictability of the disk head as it attempts to read track position information from a rotating disk.
In the fabrication of disk drives for computers, the head of the disk drive is controlled by an embedded servo system. The position information necessary to implement the imbedded servo is encoded in hard sectors that run radially from the center of the disk to its circumference. Hard sectors are written at the time the disk is manufactured and are never changed thereafter. The hard sectors are small spoke like areas of the disk that run radially at fixed angular intervals. In contrast, user data is written on concentric tracks. In order to communicate with the disk in a useful way, the head must first find and then hover directly over a particular track. As the disk spins, the track moves approximately linearly beneath the head. As a hard sector passes under the head, it reads information that specifies which track it is over.
The track information is encoded in the hard sectors in what is known as Gray code. Gray code is widely used in input/output devices, analog to digital converters, and other peripheral equipment. In Gray code, each incremental number differs from the preceding one by only one bit. Thus, Gray is known by those in the art as a "distance one" code. In this way it minimizes errors in reading position if one bit is wrong. The Gray code is read serially as the track passes under the head and is accumulated in a shift register. It may then be read out in parallel and converted to binary and otherwise treated as a digital word.
In order for the head to identify the track information, it must know precisely where to find it. The traditional technique for doing this is to use a clock and digital logic to calculate when the head is over a hard sector and then strobe the information into a register. The problem with this approach is that the clock is often not running at precisely the same frequency as the disk. They are not locked together. Consequently a phase shift can and often does develop between where the computer thinks the Gray code starts and where it actually starts. This combined with jitter causes the head to misread bits at the end of the Gray code.
In an effort to solve this problem, a new technique was developed where the hard sectors were detected by the head itself. That is, a special gap in the magnetic domain, called the DC erase gap, indicates that the next information received will give track position in Gray code. But this technique has in turn led to the problem for which the present invention is a solution. The new technique and the problem that the present invention solves can best be understood by reference to FIGS. 1 and 2.
The encoding of the Gray code is best understood by reference to FIG. 1(a), (b) and (c). FIG. 1(a) represents a track in a hard sector. Cross hatched areas, such as area 20, represent areas that are magnetized as a north pole. All un-crosshatched areas, such as area 22, represent areas that are magnetized as south poles. The horizontal axis represents distance along the track. The vertical markers 24 through 38 are on the order of fractions of a micron apart.
Since the disk is rotating at a tightly controlled constant angular speed, each increment of distance indicated by markers 24 through 38 in FIG. 1(a) can be converted to a fixed period of time that it takes each incremental distance in FIG. 1(a) to pass a given point such as a stationary read/write head. Thus, in FIG. 1(b), the horizontal axis represents time. The vertical markers are spaced apart by the amount of time that it takes a specified length of track to pass under the head. The graph of FIG. 1(b) shows the amount of time that the head sees magnetic flux of either a north or south polarity. That is, each time an area of magnetic north passes beneath the head, the head sees a north polarity flux, such as from time 40 to 41 and 42 to 44. Each time an area of magnetic south passes beneath the head, the head sees a south polarity flux, such as between time 46 and 48.
FIG. 1(c) shows the electrical response of the head to the movement of the track beneath it. As is well known, the electric current induced in a coil passing through a magnetic field is proportional to the rate of change of magnetic flux seen by the coil.
Thus, the rapid change in flux at the edges of the square flux wave of FIG. 1(b) causes spikes 50 through 60 in voltage in the coils of the head. The polarity of the spike is dependent on which way the flux is changing. A change from a south pole to a north pole causes a positive spike and visa versa.
Gray code is encoded as follows: The Gray code that defines the location of a data track consists of a series of bits of data defining a word. Each bit consists of a cell of alternating north and south pole magnetic material. Each cell starts with the transition from a south pole to a north pole which gives a plus spike. The logical information in each bit cell is determined by the time position of the negative spike relative to the positive spike that defines the beginning of the cell. The polarity of the magnetic encoding is such that a change from a south pole to a north pole occurs at fixed distances along the track in the hard sector. Given this, positive spikes such as 50, 54 or 58 will occur at fixed intervals of time, for example every 300 nanoseconds. Then depending on the distance to the next change from north pole to south pole, a negative spike will occur either 100 or 200 nanoseconds after the positive spike. A negative spike that occurs at the first opportunity, 100 nanoseconds after the positive spike, denotes a logic 1. If the negative spike does not occur until the second opportunity, 200 nanoseconds after the positive spike, it is a logic 0. The positive spikes are synchronizing signals and the timing of the arrival of a negative spike determines the logic.
FIG. 2 shows a simplified block diagram of a decoding system. Referring now to FIG. 2, head 100 includes an electric coil that operates as a transducer between electrical and magnetic energy. In the read mode, a voltage is induced in the head as the head experiences a change in polarity of magnetic flux from the rotating disk.
Threshold detector 102 is needed to clear noise out of the data path. It does this by filtering out any voltage that are below a specified amplitude threshold value. This circuitry is necessary to the process of taking the signals from the analog domain to digital domain and is well known in the art.
Converter 104 converts the now cleaned up positive and negative spikes to digital data. On output 106, a logic 1, which is a high voltage, appears each time a spike of either polarity is received at the input. At the same time, on output 108, a logic 1 appears if the spike is positive and a logic 0 if the spike is negative.
Pulse separator and synchronizer 110 performs the function of converting the asynchronous pulses coming from converter 104 to synchronous pulses synchronized by a high frequency system clock, not shown. Pulse separator and synchronizer 110 generates two outputs 112 and 114. When a plus polarity spike is received by the head, a logic 1 will be presented to inputs 106 and 108 of pulse separator and synchronizer 110. This will create a logic 1 at output 114 and a logic 0 at output 112. When a negative spike is received by the head, a logic 0 will appear at output 106 and a logic 1 in output 108. This will create a logic 1 at output 112 and a logic 0 at output 114. Thus, a logic 1 signal on output 114 indicates the head has experienced a synchronizing spike, and a pulse on output 112 indicates that the head has experienced a negative spike.
Decoder 112 detects whether the negative pulse occurs at opportunity one or opportunity two after the synchronizing pulse. Generally, it accomplishes this by triggering a single shot circuit upon receipt of the synchronizing pulse which then times out after opportunity one but before opportunity two for the occurrence of a negative pulse. The output of Gray code decoder 116 goes to the data input of shift register 118. Synchronizing pulse 114 goes to the clock input of shift register 118. When a synchronizing pulse is received from pulse separator and synchronizer 110, it strobes the value at the output of decoder 116 into the shift register.
The problem that the present invention solves can best be understood with reference to FIG. 3 where two side by side tracks are shown at 120 and 122. Again crosshatched areas are north poles and the discontinuities between north pole and south pole regions provide the positive and negative spikes that determine Gray code. A change from a south pole to a north pole such as at 124 and 126 creates a positive spike and is a synchronizing event. Changes from south pole to north pole occur at fixed intervals. As previously explained, Gray code encoding is accomplished by having the north pole region extend either one third of the distance as at 128 and 130 or two thirds of the distance as at 132 and 134 to the next to the next mandatory change from south to north pole which is the beginning of a bit cell. If the north region extends one third of the way, it is a logic 1. If the north pole extends two thirds of the way it is a logic 0.
FIG. 3(b) shows the voltage spikes received by the head as track 120 passes precisely under the head.
FIG. 3(c) shows the voltage spikes received by the head if the head is positioned partially over track 120 and partially over track 122. In this case the location of the head is indicated by reference numeral 136. At locations 124 and 126 the entire head sees a change from south to north pole which results in positive spikes 140 and 142. Both of these spikes are above threshold voltage level 133. In contrast, at locations 128, 132, 130 and 134, only approximately one half of the head sees a change in flux. This provides spikes 144, 146, 148 and 150 that have amplitudes approximately half as high as the case where the entire head sees a change of flux. And these pulses do not reach the threshold voltage amplitude 133. Thus a negative pulse does not occur. And since the circuitry requires that there cannot be two plus pulses in a row, the next plus pulse does not occur. This is the missing pulse.
A missing plus pulse can occur from defects; but it also occur in the normal operation of the disk. This latter condition occurs when the read or write command causes the head to move radially across tracks. Thus, as a hard sector comes under the head as the head is moving to a new track, some percentage of the time, the head will actually be over portions of two tracks so that the condition previously explained with respect to FIG. 3 will occur.